﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace TheBullysStore.Models.ModuloAdministracion.Usuario
{
    public class UsuarioFacade
    {

        public UsuarioService usuarioService = new UsuarioService();


        public string RegistrarUsuario(UsuarioBean usuario, PersonalBean personal, VendedorBean vendedor, ClienteBean cliente, HabitanteBean habitante)
        {
            //Administradores y gerentes
            if (usuario.IdCargo == 1)
            {
                return (usuarioService.Registrarusuario(usuario));
            }
            else
            {

                if (usuario.IdCargo == 3)
                {
                    return (usuarioService.Registrarusuario(usuario));
                }

                if (usuario.IdCargo == 11)
                {

                    return (usuarioService.Registrarusuario(usuario));
                }

                //Personal
                if (usuario.IdCargo == 5)
                {
                    return (usuarioService.Registrarpersonal(personal));
                }

                //Ventas
                if (usuario.IdCargo == 7)
                {
                    return (usuarioService.Registrarvendedor(vendedor));
                }

                if (usuario.IdCargo == 8)
                {
                    return (usuarioService.Registrarvendedor(vendedor));
                }

                //Cliente
                if (usuario.IdCargo == 10)
                {
                    return (usuarioService.Registrarcliente(cliente));
                }

                //Habitante
                if (usuario.IdCargo == 12)
                {

                    return (usuarioService.Registrarhabitante(habitante));
                }

                return (usuarioService.Registrarusuario(usuario));
            }
        }

        public Boolean existeusuario(string user)
        {
            return usuarioService.Existeusuario(user);
        }

        public Boolean esSuPassword(string user, string password)
        {
            return usuarioService.esSuPassword(user, password);
        }

        public String cambiarpassword(UsuarioBean usuario)
        {
            return usuarioService.CambiarPassword(usuario);
        }

        public Boolean TienePropietario(int idDpto)
        {
            return usuarioService.TienePropietario(idDpto);
        }

        public Boolean TieneInquilino(int idDpto)
        {
            return usuarioService.TieneInquilino(idDpto);
        }

        public Boolean mismousuario(string user, int idPersona)
        {
            return usuarioService.Mismousuario(user, idPersona);
        }

        public Boolean existenrodoc(string tipoDocumento, string nroDocumentoPersona)
        {
            return usuarioService.Existenrodoc(tipoDocumento, nroDocumentoPersona);
        }

        public Boolean mismonrodoc(string tipoDocumento, string nroDocumentoPersona, int idPersona)
        {
            return usuarioService.Mismonrodoc(tipoDocumento, nroDocumentoPersona, idPersona);
        }

        public List<UsuarioBean> ListarUsuario(UsuarioBean usuario)
        {
            return usuarioService.ListarUsuario(usuario);
        }

        public List<UsuarioBean> ListarUsuarioMod(UsuarioBean usuario, PersonalBean personal, HabitanteBean habitante)
        {
                return (usuarioService.ListarUsuarioMod(usuario));
        }

        public List<HabitanteBean> ListarHabitanteMod(HabitanteBean habitante)
        {
            return (usuarioService.ListarHabitanteMod(habitante));
        }

        public List<PersonalBean> ListarPersonalMod(PersonalBean personal){
            return (usuarioService.ListarPersonalMod(personal));
        }

        public string eliminarUsuario(UsuarioBean usuario)
        {
            return (usuarioService.eliminarUsuario(usuario));
        }
    }
}
